---
title: OpenAI Agents SDK TypeScript
description: The OpenAI Agents SDK for TypeScript enables you to build agentic AI apps in a lightweight, easy-to-use package with very few abstractions.
---

import { LinkCard } from '@astrojs/starlight/components';
import { Code } from '@astrojs/starlight/components';
import Hero from '../../../components/Hero.astro';

import helloWorldExample from '../../../../../examples/docs/hello-world.ts?raw';

<Hero>
  <Fragment slot="title">クイックスタート</Fragment>
  <Fragment slot="description">
    ほんの数分ではじめてのエージェントをつくることができます。
  </Fragment>
  <Fragment slot="cta">はじめる</Fragment>
</Hero>

## 概要

[OpenAI Agents SDK for TypeScript](https://github.com/openai/openai-agents-js) は、抽象化を最小限に抑えた軽量で使いやすいパッケージで、エージェント型の AI アプリを構築できます。これは、以前のエージェント向け実験である [Swarm](https://github.com/openai/swarm/tree/main) の本番利用可能なアップグレードで、[Python 版](https://github.com/openai/openai-agents-python) もあります。Agents SDK の基本的な構成要素（basic components）は非常に少数です。

- **エージェント**: instructions と tools を備えた LLM
- **ハンドオフ**: 特定のタスクを他のエージェントに委任するしくみ
- **ガードレール**: エージェントへの入力を検証するしくみ

TypeScript と組み合わせることで、これらの基本的な構成要素はツールとエージェント間の複雑な関係を表現でき、急な学習コストなしに実アプリケーションを構築できます。さらに、SDK には組み込みの **トレーシング** があり、エージェントのフローを可視化・デバッグできるほか、評価したり、アプリケーション向けにモデルのファインチューニングまで行えます。

## Agents SDK を使う理由

SDK の設計原則は 2 つあります。

1. 使う価値のある十分な機能を持ちながら、学習を素早くするための少数の基本的な構成要素に絞ること
2. すぐに使えて素晴らしく動作しつつ、挙動を細部までカスタマイズできること

主な機能は次のとおりです。

- **エージェントループ**: ツールの呼び出し、結果の LLM への送信、LLM が完了するまでのループ処理を内蔵
- **TypeScript ファースト**: 新しい抽象化を学ぶのではなく、言語の機能でエージェントをオーケストレーション・連携
- **ハンドオフ**: 複数エージェント間の調整や委任を可能にする強力な機能
- **ガードレール**: エージェントと並行して入力の検証やチェックを実行し、失敗時は早期に停止
- **関数ツール**: 任意の TypeScript 関数をツール化し、スキーマ自動生成と Zod によるバリデーションを提供
- **トレーシング**: ワークフローを可視化・デバッグ・監視でき、OpenAI の評価、ファインチューニング、蒸留ツールも活用可能
- **リアルタイムエージェント**: 自動割り込み検知、コンテキスト管理、ガードレールなどを備えた強力な音声エージェントを構築

## インストール

```bash
npm install @openai/agents zod@3
```

## Hello World のコード例

<Code lang="typescript" code={helloWorldExample} title="Hello World" />

(_実行する場合は、`OPENAI_API_KEY` 環境変数を設定してください_)

```bash
export OPENAI_API_KEY=sk-...
```
